[INFO] cloning repository https://github.com/epicsagas/alcove
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/epicsagas/alcove" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fepicsagas%2Falcove", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fepicsagas%2Falcove'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] ee4237832708e947ea712c16420ffd177b719943
[INFO] testing epicsagas/alcove against try#0abe69e6c16114311cc2700e972492e64d69c28f for pr-154065
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fepicsagas%2Falcove" "/workspace/builds/worker-3-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/epicsagas/alcove
[INFO] finished tweaking git repo https://github.com/epicsagas/alcove
[INFO] tweaked toml for git repo https://github.com/epicsagas/alcove written to /workspace/builds/worker-3-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/epicsagas/alcove on toolchain 0abe69e6c16114311cc2700e972492e64d69c28f
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+0abe69e6c16114311cc2700e972492e64d69c28f" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/epicsagas/alcove already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+0abe69e6c16114311cc2700e972492e64d69c28f" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+0abe69e6c16114311cc2700e972492e64d69c28f" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] d6267b1af68782423c55fc0b3bc47262b3a4d5ad09ebf4ef3b860b2ae25c4a48
[INFO] running `Command { std: "docker" "start" "-a" "d6267b1af68782423c55fc0b3bc47262b3a4d5ad09ebf4ef3b860b2ae25c4a48", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "d6267b1af68782423c55fc0b3bc47262b3a4d5ad09ebf4ef3b860b2ae25c4a48", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "d6267b1af68782423c55fc0b3bc47262b3a4d5ad09ebf4ef3b860b2ae25c4a48", kill_on_drop: false }`
[INFO] [stdout] d6267b1af68782423c55fc0b3bc47262b3a4d5ad09ebf4ef3b860b2ae25c4a48
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+0abe69e6c16114311cc2700e972492e64d69c28f" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 27c34970954caaff410f6129449acda4811a13a2d40c9fe252c42b207142b2b0
[INFO] running `Command { std: "docker" "start" "-a" "27c34970954caaff410f6129449acda4811a13a2d40c9fe252c42b207142b2b0", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.106
[INFO] [stderr]    Compiling unicode-ident v1.0.24
[INFO] [stderr]    Compiling regex-syntax v0.8.10
[INFO] [stderr]    Compiling rustversion v1.0.22
[INFO] [stderr]    Compiling libc v0.2.182
[INFO] [stderr]    Compiling aho-corasick v1.1.4
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]    Compiling bstr v1.12.1
[INFO] [stderr]    Compiling crossbeam-utils v0.8.21
[INFO] [stderr]    Compiling indexmap v2.13.0
[INFO] [stderr]    Compiling either v1.15.0
[INFO] [stderr]    Compiling winnow v0.7.15
[INFO] [stderr]    Compiling stable_deref_trait v1.2.1
[INFO] [stderr]    Compiling zerocopy v0.8.40
[INFO] [stderr]    Compiling deranged v0.5.8
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling crunchy v0.2.4
[INFO] [stderr]    Compiling zstd-safe v7.2.4
[INFO] [stderr]    Compiling num-conv v0.2.0
[INFO] [stderr]    Compiling unsafe-libyaml v0.2.11
[INFO] [stderr]    Compiling time-core v0.1.8
[INFO] [stderr]    Compiling getrandom v0.4.2
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]    Compiling ownedbytes v0.9.0
[INFO] [stderr]    Compiling linux-raw-sys v0.12.1
[INFO] [stderr]    Compiling prettyplease v0.2.37
[INFO] [stderr]    Compiling crossbeam-epoch v0.9.18
[INFO] [stderr]    Compiling bitpacking v0.9.3
[INFO] [stderr]    Compiling jobserver v0.1.34
[INFO] [stderr]    Compiling getrandom v0.2.17
[INFO] [stderr]    Compiling quote v1.0.45
[INFO] [stderr]    Compiling crossbeam-deque v0.8.6
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]    Compiling arc-swap v1.8.2
[INFO] [stderr]    Compiling itertools v0.11.0
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]    Compiling cc v1.2.56
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling slab v0.4.12
[INFO] [stderr]    Compiling futures-core v0.3.32
[INFO] [stderr]    Compiling utf8-ranges v1.0.5
[INFO] [stderr]    Compiling base62 v2.2.3
[INFO] [stderr]    Compiling normpath v1.5.0
[INFO] [stderr]    Compiling tantivy-bitpacker v0.9.0
[INFO] [stderr]    Compiling itertools v0.14.0
[INFO] [stderr]    Compiling murmurhash32 v0.3.1
[INFO] [stderr]    Compiling regex-automata v0.4.14
[INFO] [stderr]    Compiling tantivy-fst v0.5.0
[INFO] [stderr]    Compiling time v0.3.47
[INFO] [stderr]    Compiling nom v7.1.3
[INFO] [stderr]    Compiling rayon-core v1.13.0
[INFO] [stderr]    Compiling downcast-rs v2.0.2
[INFO] [stderr]    Compiling fastdivide v0.4.2
[INFO] [stderr]    Compiling anyhow v1.0.102
[INFO] [stderr]    Compiling console v0.16.2
[INFO] [stderr]    Compiling rayon v1.11.0
[INFO] [stderr]    Compiling tempfile v3.26.0
[INFO] [stderr]    Compiling zstd-sys v2.0.16+zstd.1.5.7
[INFO] [stderr]    Compiling fs4 v0.13.1
[INFO] [stderr]    Compiling dirs-sys v0.5.0
[INFO] [stderr]    Compiling clap_builder v4.5.60
[INFO] [stderr]    Compiling fuzzy-matcher v0.3.7
[INFO] [stderr]    Compiling lru v0.12.5
[INFO] [stderr]    Compiling toml_parser v1.0.9+spec-1.1.0
[INFO] [stderr]    Compiling uuid v1.22.0
[INFO] [stderr]    Compiling memmap2 v0.9.10
[INFO] [stderr]    Compiling serde_spanned v1.0.4
[INFO] [stderr]    Compiling toml_datetime v1.0.0+spec-1.1.0
[INFO] [stderr]    Compiling measure_time v0.9.0
[INFO] [stderr]    Compiling census v0.4.2
[INFO] [stderr]    Compiling toml_writer v1.0.6+spec-1.1.0
[INFO] [stderr]    Compiling lz4_flex v0.11.6
[INFO] [stderr]    Compiling oneshot v0.1.13
[INFO] [stderr]    Compiling htmlescape v0.3.1
[INFO] [stderr]    Compiling globset v0.4.18
[INFO] [stderr]    Compiling regex v1.12.3
[INFO] [stderr]    Compiling levenshtein_automata v0.2.1
[INFO] [stderr]    Compiling toml v1.0.6+spec-1.1.0
[INFO] [stderr]    Compiling dialoguer v0.12.0
[INFO] [stderr]    Compiling dirs v6.0.0
[INFO] [stderr]    Compiling sys-locale v0.3.2
[INFO] [stderr]    Compiling ignore v0.4.25
[INFO] [stderr]    Compiling darling_core v0.23.0
[INFO] [stderr]    Compiling globwalk v0.8.1
[INFO] [stderr]    Compiling ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling async-trait v0.1.89
[INFO] [stderr]    Compiling rand v0.8.5
[INFO] [stderr]    Compiling futures-macro v0.3.32
[INFO] [stderr]    Compiling rust-i18n v3.1.5
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]    Compiling clap_derive v4.5.55
[INFO] [stderr]    Compiling rand_distr v0.4.3
[INFO] [stderr]    Compiling futures-util v0.3.32
[INFO] [stderr]    Compiling darling_macro v0.23.0
[INFO] [stderr]    Compiling darling v0.23.0
[INFO] [stderr]    Compiling bon-macros v3.9.0
[INFO] [stderr]    Compiling thiserror v2.0.18
[INFO] [stderr]    Compiling clap v4.5.60
[INFO] [stderr]    Compiling zstd v0.13.3
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling toml_datetime v0.6.11
[INFO] [stderr]    Compiling serde_spanned v0.6.9
[INFO] [stderr]    Compiling tantivy-common v0.10.0
[INFO] [stderr]    Compiling triomphe v0.1.15
[INFO] [stderr]    Compiling serde_yaml v0.9.34+deprecated
[INFO] [stderr]    Compiling hyperloglogplus v0.4.1
[INFO] [stderr]    Compiling sketches-ddsketch v0.3.1
[INFO] [stderr]    Compiling tantivy-tokenizer-api v0.6.0
[INFO] [stderr]    Compiling rust-stemmers v1.2.0
[INFO] [stderr]    Compiling tantivy-query-grammar v0.25.0
[INFO] [stderr]    Compiling toml_edit v0.22.27
[INFO] [stderr]    Compiling tantivy-stacker v0.6.0
[INFO] [stderr]    Compiling tantivy-sstable v0.6.0
[INFO] [stderr]    Compiling tantivy-columnar v0.6.0
[INFO] [stderr]    Compiling bon v3.9.0
[INFO] [stderr]    Compiling tantivy v0.25.0
[INFO] [stderr]    Compiling toml v0.8.23
[INFO] [stderr]    Compiling rust-i18n-support v3.1.5
[INFO] [stderr]    Compiling rust-i18n-macro v3.1.5
[INFO] [stderr]    Compiling alcove v0.7.10 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 18s
[INFO] running `Command { std: "docker" "inspect" "27c34970954caaff410f6129449acda4811a13a2d40c9fe252c42b207142b2b0", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "27c34970954caaff410f6129449acda4811a13a2d40c9fe252c42b207142b2b0", kill_on_drop: false }`
[INFO] [stdout] 27c34970954caaff410f6129449acda4811a13a2d40c9fe252c42b207142b2b0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+0abe69e6c16114311cc2700e972492e64d69c28f" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 9df602256d5823ecb8745b6e9b1891bab851e17ee66a0aec1d98d26574d66cf3
[INFO] running `Command { std: "docker" "start" "-a" "9df602256d5823ecb8745b6e9b1891bab851e17ee66a0aec1d98d26574d66cf3", kill_on_drop: false }`
[INFO] [stderr]    Compiling alcove v0.7.10 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 8.33s
[INFO] running `Command { std: "docker" "inspect" "9df602256d5823ecb8745b6e9b1891bab851e17ee66a0aec1d98d26574d66cf3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "9df602256d5823ecb8745b6e9b1891bab851e17ee66a0aec1d98d26574d66cf3", kill_on_drop: false }`
[INFO] [stdout] 9df602256d5823ecb8745b6e9b1891bab851e17ee66a0aec1d98d26574d66cf3
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+0abe69e6c16114311cc2700e972492e64d69c28f" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 9858e8966238ecec3af040c3482df5647d26c8bf9cbaf5b8434168a567a9d544
[INFO] running `Command { std: "docker" "start" "-a" "9858e8966238ecec3af040c3482df5647d26c8bf9cbaf5b8434168a567a9d544", kill_on_drop: false }`
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.26s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/alcove-b99b66fbd100e67c)
[INFO] [stdout] 
[INFO] [stdout] running 81 tests
[INFO] [stdout] test config::tests::config_defaults_when_empty ... ok
[INFO] [stdout] test config::tests::classify_tier_with_custom_config ... ok
[INFO] [stdout] test config::tests::default_docs_root_contains_alcove_docs ... ok
[INFO] [stdout] test config::tests::classify_project_repo_files ... ok
[INFO] [stdout] test config::tests::classify_reports_backslash ... ok
[INFO] [stdout] test config::tests::config_custom_core_files ... ok
[INFO] [stdout] test config::tests::classify_core_files ... ok
[INFO] [stdout] test config::tests::classify_core_case_insensitive ... ok
[INFO] [stdout] test config::tests::doc_file_markdown ... ok
[INFO] [stdout] test config::tests::classify_supplementary_files ... ok
[INFO] [stdout] test config::tests::doc_file_openapi ... ok
[INFO] [stdout] test config::tests::classify_unknown_file ... ok
[INFO] [stdout] test config::tests::config_parse_toml ... ok
[INFO] [stdout] test config::tests::docs_root_returns_explicit_value ... ok
[INFO] [stdout] test config::tests::docs_root_returns_none_when_no_config_and_no_default_dir ... ok
[INFO] [stdout] test config::tests::overlay_empty_project_uses_base ... ok
[INFO] [stdout] test config::tests::is_indexable_falls_back_to_is_doc_file ... ok
[INFO] [stdout] test config::tests::extra_extensions_overlay_base_fills_when_project_unset ... ok
[INFO] [stdout] test config::tests::is_indexable_no_double_count_for_md ... ok
[INFO] [stdout] test config::tests::project_config_path_is_in_project_dir ... ok
[INFO] [stdout] test config::tests::is_indexable_respects_extra_extensions ... ok
[INFO] [stdout] test config::tests::suggest_debt_related ... ok
[INFO] [stdout] test config::tests::extra_extensions_overlay_project_wins ... ok
[INFO] [stdout] test config::tests::extra_extensions_toml_deserialization ... ok
[INFO] [stdout] test config::tests::is_indexable_case_insensitive ... ok
[INFO] [stdout] test config::tests::suggest_conventions_related ... ok
[INFO] [stdout] test config::tests::is_indexable_handles_dot_prefixed_extensions ... ok
[INFO] [stdout] test config::tests::suggest_prd_related ... ok
[INFO] [stdout] test config::tests::suggest_architecture_related ... ok
[INFO] [stdout] test config::tests::suggest_uncategorized ... ok
[INFO] [stdout] test config::tests::suggest_reports_folder ... ok
[INFO] [stdout] test config::tests::suggest_secrets_related ... ok
[INFO] [stdout] test config::tests::load_project_config_reads_toml ... ok
[INFO] [stdout] test config::tests::effective_config_project_overrides_are_applied ... ok
[INFO] [stdout] test config::tests::suggest_progress_related ... ok
[INFO] [stdout] test config::tests::classify_reports_folder ... ok
[INFO] [stdout] test config::tests::suggest_decisions_related ... ok
[INFO] [stdout] test config::tests::load_project_config_missing_file_returns_default ... ok
[INFO] [stdout] test index::tests::chunk_content_basic ... ok
[INFO] [stdout] test index::tests::chunk_content_empty ... ok
[INFO] [stdout] test index::tests::chunk_content_long_splits ... ok
[INFO] [stdout] test config::tests::is_doc_file_no_extension ... ok
[INFO] [stdout] test config::tests::doc_file_txt_rst ... ok
[INFO] [stdout] test index::tests::chunk_content_single_line ... ok
[INFO] [stdout] test index::tests::index_exists_false_when_no_index ... ok
[INFO] [stdout] test index::tests::build_index_lock_prevents_concurrent ... ok
[INFO] [stdout] test index::tests::check_doc_changes_no_index ... ok
[INFO] [stdout] test config::tests::doc_file_rejects_non_docs ... ok
[INFO] [stdout] test config::tests::overlay_project_overrides_base ... ok
[INFO] [stdout] test index::tests::sanitize_query_escapes_special_chars ... ok
[INFO] [stdout] test index::tests::sanitize_query_mixed_special_and_text ... ok
[INFO] [stdout] test index::tests::sanitize_query_preserves_unicode ... ok
[INFO] [stdout] test index::tests::is_index_stale_when_no_index ... ok
[INFO] [stdout] test index::tests::build_index_incremental_skips_unchanged ... ok
[INFO] [stdout] test index::tests::build_index_succeeds ... ok
[INFO] [stdout] test index::tests::is_index_stale_after_new_file ... ok
[INFO] [stdout] test index::tests::check_doc_changes_after_delete ... ok
[INFO] [stdout] test index::tests::search_indexed_chinese ... ok
[INFO] [stdout] test index::tests::ensure_index_fresh_rebuilds_when_stale ... ok
[INFO] [stdout] test index::tests::search_indexed_no_index_returns_error ... ok
[INFO] [stdout] test index::tests::ensure_index_fresh_skips_when_fresh ... ok
[INFO] [stdout] test index::tests::check_doc_changes_after_add ... ok
[INFO] [stdout] test index::tests::is_index_fresh_after_build ... ok
[INFO] [stdout] test index::tests::is_index_stale_after_file_deletion ... ok
[INFO] [stdout] test index::tests::check_doc_changes_fresh_index ... ok
[INFO] [stdout] test index::tests::build_index_incremental_rebuilds_after_change ... ok
[INFO] [stdout] test index::tests::search_indexed_korean ... ok
[INFO] [stdout] test index::tests::index_exists_true_after_build ... ok
[INFO] [stdout] test index::tests::search_indexed_global_scope_label ... ok
[INFO] [stdout] test index::tests::search_indexed_deduplicates_by_file ... ok
[INFO] [stdout] test index::tests::search_indexed_empty_query ... ok
[INFO] [stdout] test index::tests::search_indexed_japanese ... ok
[INFO] [stdout] test index::tests::search_indexed_no_results ... ok
[INFO] [stdout] test index::tests::search_indexed_respects_limit ... ok
[INFO] [stdout] test index::tests::search_indexed_finds_oauth ... ok
[INFO] [stdout] test index::tests::search_indexed_skips_hidden_projects ... ok
[INFO] [stdout] test index::tests::search_indexed_with_project_filter ... ok
[INFO] [stdout] test index::tests::search_indexed_special_chars_no_panic ... ok
[INFO] [stdout] test index::tests::search_indexed_project_scope_label ... ok
[INFO] [stdout] test index::tests::is_index_stale_after_file_change ... ok
[INFO] [stdout] test index::tests::check_doc_changes_after_modify ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 81 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.48s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/alcove-c49c15910136ae05)
[INFO] [stdout] 
[INFO] [stdout] running 245 tests
[INFO] [stdout] test cli::tests::agents_all_have_mcp_config ... ok
[INFO] [stdout] test cli::tests::agents_contains_known_names ... ok
[INFO] [stdout] test cli::tests::agents_returns_expected_count ... ok
[INFO] [stdout] test cli::tests::categories_defaults_are_non_empty ... ok
[INFO] [stdout] test cli::tests::categories_has_three_entries ... ok
[INFO] [stdout] test cli::tests::binary_path_is_not_empty ... ok
[INFO] [stdout] test cli::tests::categories_labels_match_expected ... ok
[INFO] [stdout] test cli::tests::diagram_formats_has_expected_entries ... ok
[INFO] [stdout] test cli::tests::diagram_formats_all_have_labels ... ok
[INFO] [stdout] test cli::tests::expand_path_absolute_unchanged ... ok
[INFO] [stdout] test cli::tests::expand_path_relative_unchanged ... ok
[INFO] [stdout] test cli::tests::expand_path_tilde_expands_to_home ... ok
[INFO] [stdout] test cli::tests::shellexpand_tilde ... ok
[INFO] [stdout] test cli::tests::save_docs_root_creates_new_config ... ok
[INFO] [stdout] test cli::tests::write_json_mcp_creates_new_file ... ok
[INFO] [stdout] test cli::tests::install_skill_to_overwrites_existing ... ok
[INFO] [stdout] test cli::tests::save_docs_root_prepends_when_no_docs_root_key ... ok
[INFO] [stdout] test cli::tests::install_skill_to_creates_skill_file ... ok
[INFO] [stdout] test cli::tests::write_codex_mcp_appends_to_existing ... ok
[INFO] [stdout] test config::tests::classify_core_case_insensitive ... ok
[INFO] [stdout] test cli::tests::write_codex_mcp_creates_new_file ... ok
[INFO] [stdout] test config::tests::classify_core_files ... ok
[INFO] [stdout] test config::tests::classify_reports_folder ... ok
[INFO] [stdout] test config::tests::classify_reports_backslash ... ok
[INFO] [stdout] test config::tests::classify_project_repo_files ... ok
[INFO] [stdout] test cli::tests::save_full_config_writes_all_sections ... ok
[INFO] [stdout] test cli::tests::shellexpand_no_tilde ... ok
[INFO] [stdout] test cli::tests::expand_path_tilde_only_no_slash_unchanged ... ok
[INFO] [stdout] test config::tests::classify_supplementary_files ... ok
[INFO] [stdout] test cli::tests::write_opencode_mcp_creates_new_file ... ok
[INFO] [stdout] test cli::tests::write_json_mcp_creates_parent_dirs ... ok
[INFO] [stdout] test cli::tests::write_opencode_mcp_merges_existing ... ok
[INFO] [stdout] test config::tests::doc_file_openapi ... ok
[INFO] [stdout] test config::tests::default_docs_root_contains_alcove_docs ... ok
[INFO] [stdout] test config::tests::doc_file_rejects_non_docs ... ok
[INFO] [stdout] test config::tests::doc_file_markdown ... ok
[INFO] [stdout] test config::tests::docs_root_returns_explicit_value ... ok
[INFO] [stdout] test config::tests::docs_root_returns_none_when_no_config_and_no_default_dir ... ok
[INFO] [stdout] test config::tests::classify_tier_with_custom_config ... ok
[INFO] [stdout] test config::tests::config_parse_toml ... ok
[INFO] [stdout] test config::tests::doc_file_txt_rst ... ok
[INFO] [stdout] test cli::tests::write_json_mcp_merges_with_existing ... ok
[INFO] [stdout] test config::tests::config_custom_core_files ... ok
[INFO] [stdout] test config::tests::classify_unknown_file ... ok
[INFO] [stdout] test config::tests::config_defaults_when_empty ... ok
[INFO] [stdout] test config::tests::extra_extensions_overlay_base_fills_when_project_unset ... ok
[INFO] [stdout] test config::tests::extra_extensions_overlay_project_wins ... ok
[INFO] [stdout] test config::tests::is_doc_file_no_extension ... ok
[INFO] [stdout] test config::tests::is_indexable_case_insensitive ... ok
[INFO] [stdout] test config::tests::is_indexable_falls_back_to_is_doc_file ... ok
[INFO] [stdout] test config::tests::effective_config_project_overrides_are_applied ... ok
[INFO] [stdout] test config::tests::is_indexable_handles_dot_prefixed_extensions ... ok
[INFO] [stdout] test config::tests::extra_extensions_toml_deserialization ... ok
[INFO] [stdout] test config::tests::overlay_empty_project_uses_base ... ok
[INFO] [stdout] test config::tests::overlay_project_overrides_base ... ok
[INFO] [stdout] test config::tests::project_config_path_is_in_project_dir ... ok
[INFO] [stdout] test config::tests::suggest_architecture_related ... ok
[INFO] [stdout] test config::tests::suggest_prd_related ... ok
[INFO] [stdout] test config::tests::load_project_config_missing_file_returns_default ... ok
[INFO] [stdout] test config::tests::suggest_conventions_related ... ok
[INFO] [stdout] test config::tests::suggest_progress_related ... ok
[INFO] [stdout] test config::tests::suggest_uncategorized ... ok
[INFO] [stdout] test config::tests::suggest_debt_related ... ok
[INFO] [stdout] test config::tests::is_indexable_no_double_count_for_md ... ok
[INFO] [stdout] test cli::tests::save_docs_root_updates_existing_docs_root ... ok
[INFO] [stdout] test config::tests::is_indexable_respects_extra_extensions ... ok
[INFO] [stdout] test config::tests::suggest_decisions_related ... ok
[INFO] [stdout] test config::tests::suggest_reports_folder ... ok
[INFO] [stdout] test config::tests::load_project_config_reads_toml ... ok
[INFO] [stdout] test index::tests::chunk_content_basic ... ok
[INFO] [stdout] test index::tests::chunk_content_long_splits ... ok
[INFO] [stdout] test index::tests::chunk_content_empty ... ok
[INFO] [stdout] test cli::tests::write_codex_mcp_skips_if_already_configured ... ok
[INFO] [stdout] test index::tests::index_exists_false_when_no_index ... ok
[INFO] [stdout] test index::tests::check_doc_changes_no_index ... ok
[INFO] [stdout] test config::tests::suggest_secrets_related ... ok
[INFO] [stdout] test index::tests::chunk_content_single_line ... ok
[INFO] [stdout] test index::tests::build_index_lock_prevents_concurrent ... ok
[INFO] [stdout] test index::tests::is_index_stale_when_no_index ... ok
[INFO] [stdout] test index::tests::sanitize_query_mixed_special_and_text ... ok
[INFO] [stdout] test index::tests::sanitize_query_escapes_special_chars ... ok
[INFO] [stdout] test index::tests::sanitize_query_preserves_unicode ... ok
[INFO] [stdout] test index::tests::index_exists_true_after_build ... ok
[INFO] [stdout] test index::tests::build_index_succeeds ... ok
[INFO] [stdout] test index::tests::is_index_fresh_after_build ... ok
[INFO] [stdout] test index::tests::is_index_stale_after_file_deletion ... ok
[INFO] [stdout] test index::tests::check_doc_changes_after_delete ... ok
[INFO] [stdout] test index::tests::build_index_incremental_skips_unchanged ... ok
[INFO] [stdout] test index::tests::search_indexed_no_index_returns_error ... ok
[INFO] [stdout] test index::tests::ensure_index_fresh_rebuilds_when_stale ... ok
[INFO] [stdout] test index::tests::search_indexed_empty_query ... ok
[INFO] [stdout] test index::tests::search_indexed_deduplicates_by_file ... ok
[INFO] [stdout] test index::tests::search_indexed_chinese ... ok
[INFO] [stdout] test index::tests::ensure_index_fresh_skips_when_fresh ... ok
[INFO] [stdout] test index::tests::build_index_incremental_rebuilds_after_change ... ok
[INFO] [stdout] test index::tests::is_index_stale_after_new_file ... ok
[INFO] [stdout] test mcp::tests::dispatch_check_doc_changes ... ok
[INFO] [stdout] test mcp::tests::dispatch_initialize ... ok
[INFO] [stdout] test mcp::tests::dispatch_initialized_notification ... ok
[INFO] [stdout] test mcp::tests::dispatch_initialized_without_notifications_prefix ... ok
[INFO] [stdout] test mcp::tests::dispatch_list_projects_with_valid_docs_root ... ok
[INFO] [stdout] test index::tests::check_doc_changes_fresh_index ... ok
[INFO] [stdout] test index::tests::search_indexed_korean ... ok
[INFO] [stdout] test index::tests::search_indexed_respects_limit ... ok
[INFO] [stdout] test mcp::tests::dispatch_check_doc_changes_with_auto_rebuild ... ok
[INFO] [stdout] test index::tests::search_indexed_japanese ... ok
[INFO] [stdout] test mcp::tests::dispatch_rebuild_index ... ok
[INFO] [stdout] test index::tests::search_indexed_project_scope_label ... ok
[INFO] [stdout] test index::tests::search_indexed_global_scope_label ... ok
[INFO] [stdout] test mcp::tests::dispatch_search_auto_uses_ranked_when_index_exists ... ok
[INFO] [stdout] test index::tests::search_indexed_finds_oauth ... ok
[INFO] [stdout] test mcp::tests::dispatch_tool_call_invalid_params ... ok
[INFO] [stdout] test mcp::tests::dispatch_tools_list_has_schemas ... ok
[INFO] [stdout] test mcp::tests::dispatch_tool_call_unknown_tool_with_docs_root ... ok
[INFO] [stdout] test mcp::tests::dispatch_unknown_method ... ok
[INFO] [stdout] test mcp::tests::dispatch_tools_list ... ok
[INFO] [stdout] test mcp::tests::handle_tools_list_contains_validate_docs ... ok
[INFO] [stdout] test mcp::tests::mcp_text_result_with_array ... ok
[INFO] [stdout] test mcp::tests::rpc_err_omits_result ... ok
[INFO] [stdout] test mcp::tests::rpc_err_response ... ok
[INFO] [stdout] test mcp::tests::rpc_ok_response ... ok
[INFO] [stdout] test mcp::tests::rpc_request_deserialization_missing_optional_fields ... ok
[INFO] [stdout] test mcp::tests::rpc_request_deserialization_with_all_fields ... ok
[INFO] [stdout] test mcp::tests::rpc_response_ok_with_none_id_skips_id_in_json ... ok
[INFO] [stdout] test mcp::tests::rpc_response_serialization ... ok
[INFO] [stdout] test mcp::tests::search_schema_has_scope_but_no_mode ... ok
[INFO] [stdout] test mcp::tests::tool_description_serialization_renames_input_schema ... ok
[INFO] [stdout] test policy::tests::count_items_asterisk_lists ... ok
[INFO] [stdout] test policy::tests::count_items_basic ... ok
[INFO] [stdout] test policy::tests::count_items_heading_not_found ... ok
[INFO] [stdout] test policy::tests::count_items_includes_subheadings ... ok
[INFO] [stdout] test mcp::tests::mcp_text_result_with_empty_string ... ok
[INFO] [stdout] test policy::tests::count_items_mixed_dash_and_asterisk ... ok
[INFO] [stdout] test policy::tests::count_items_no_list_items_just_text ... ok
[INFO] [stdout] test mcp::tests::mcp_text_result_with_null ... ok
[INFO] [stdout] test policy::tests::count_items_numbered_list_not_counted ... ok
[INFO] [stdout] test policy::tests::count_list_items_asterisk_prefix ... ok
[INFO] [stdout] test policy::tests::count_list_items_includes_sub_headings ... ok
[INFO] [stdout] test policy::tests::count_items_stops_at_same_level ... ok
[INFO] [stdout] test mcp::tests::mcp_text_result_wraps_json ... ok
[INFO] [stdout] test policy::tests::count_list_items_no_heading_match ... ok
[INFO] [stdout] test policy::tests::count_list_items_stops_at_same_level_heading ... ok
[INFO] [stdout] test policy::tests::file_status_as_str ... ok
[INFO] [stdout] test policy::tests::default_policy_has_all_core_files ... ok
[INFO] [stdout] test policy::tests::load_default_policy_from_config ... ok
[INFO] [stdout] test policy::tests::load_policy_malformed_toml_returns_default ... ok
[INFO] [stdout] test policy::tests::policy_source_returns_default ... ok
[INFO] [stdout] test policy::tests::load_team_policy ... ok
[INFO] [stdout] test policy::tests::policy_source_returns_project ... ok
[INFO] [stdout] test policy::tests::load_policy_empty_file_returns_default ... ok
[INFO] [stdout] test mcp::tests::dispatch_search_force_grep_mode ... ok
[INFO] [stdout] test policy::tests::load_policy_with_naming_section ... ok
[INFO] [stdout] test index::tests::search_indexed_special_chars_no_panic ... ok
[INFO] [stdout] test policy::tests::validate_empty_zero_byte_file ... ok
[INFO] [stdout] test policy::tests::validate_enforce_relaxed_in_json_output ... ok
[INFO] [stdout] test policy::tests::policy_source_returns_team ... ok
[INFO] [stdout] test index::tests::search_indexed_skips_hidden_projects ... ok
[INFO] [stdout] test policy::tests::validate_enforce_strict_in_json_output ... ok
[INFO] [stdout] test policy::tests::project_policy_overrides_team ... ok
[INFO] [stdout] test policy::tests::validate_all_sections_passing ... ok
[INFO] [stdout] test policy::tests::validate_project_repo_file_missing ... ok
[INFO] [stdout] test index::tests::search_indexed_with_project_filter ... ok
[INFO] [stdout] test index::tests::check_doc_changes_after_add ... ok
[INFO] [stdout] test policy::tests::validate_minimal_content ... ok
[INFO] [stdout] test policy::tests::validate_existing_file ... ok
[INFO] [stdout] test policy::tests::validate_project_repo_file_found ... ok
[INFO] [stdout] test policy::tests::validate_missing_file ... ok
[INFO] [stdout] test policy::tests::validation_json_output ... ok
[INFO] [stdout] test policy::tests::validation_to_json_has_all_fields ... ok
[INFO] [stdout] test policy::tests::validate_project_repo_location ... ok
[INFO] [stdout] test policy::tests::validate_project_repo_missing ... ok
[INFO] [stdout] test policy::tests::validate_section_min_items ... ok
[INFO] [stdout] test policy::tests::validate_template_unfilled ... ok
[INFO] [stdout] test policy::tests::validate_section_missing ... ok
[INFO] [stdout] test policy::tests::validate_finds_alias ... ok
[INFO] [stdout] test policy::tests::validate_sections_pass ... ok
[INFO] [stdout] test tools::tests::audit_detects_minimal ... ok
[INFO] [stdout] test tools::tests::audit_detects_internal_docs_in_repo ... ok
[INFO] [stdout] test index::tests::search_indexed_no_results ... ok
[INFO] [stdout] test mcp::tests::dispatch_search_global_grep ... ok
[INFO] [stdout] test mcp::tests::dispatch_search_ranked_with_index ... ok
[INFO] [stdout] test tools::tests::audit_no_actions_when_complete ... ok
[INFO] [stdout] test tools::tests::audit_reports_file_status ... ok
[INFO] [stdout] test tools::tests::audit_detects_template_unfilled ... ok
[INFO] [stdout] test policy::tests::validate_section_min_items_pass ... ok
[INFO] [stdout] test tools::tests::configure_project_creates_alcove_toml_in_repo_root ... ok
[INFO] [stdout] test tools::tests::configure_project_updates_existing_preserves_other_fields ... ok
[INFO] [stdout] test tools::tests::audit_suggests_missing_internal ... ok
[INFO] [stdout] test tools::tests::audit_without_repo_shows_not_detected ... ok
[INFO] [stdout] test tools::tests::detect_repo_path_returns_none_for_unrelated_name ... ok
[INFO] [stdout] test tools::tests::audit_with_repo_path ... ok
[INFO] [stdout] test tools::tests::audit_with_repo_docs_subdirectory ... ok
[INFO] [stdout] test tools::tests::get_file_reads_deeply_nested ... ok
[INFO] [stdout] test tools::tests::get_file_reads_content ... ok
[INFO] [stdout] test tools::tests::get_file_reads_nested ... ok
[INFO] [stdout] test tools::tests::get_file_reads_txt ... ok
[INFO] [stdout] test tools::tests::get_file_rejects_non_doc ... ok
[INFO] [stdout] test tools::tests::get_file_rejects_traversal ... ok
[INFO] [stdout] test mcp::tests::dispatch_search_auto_falls_back_to_grep_no_index ... ok
[INFO] [stdout] test tools::tests::get_file_rejects_nonexistent ... ok
[INFO] [stdout] test tools::tests::global_search_includes_project_field ... ok
[INFO] [stdout] test tools::tests::get_file_with_offset_limit ... ok
[INFO] [stdout] test tools::tests::init_project_no_template_fails ... ok
[INFO] [stdout] test tools::tests::global_search_empty_query ... ok
[INFO] [stdout] test tools::tests::global_search_no_results ... ok
[INFO] [stdout] test tools::tests::init_project_creates_repo_readme_and_changelog ... ok
[INFO] [stdout] test tools::tests::init_project_creates_repo_docs ... ok
[INFO] [stdout] test tools::tests::global_search_case_insensitive ... ok
[INFO] [stdout] test tools::tests::global_search_respects_limit ... ok
[INFO] [stdout] test tools::tests::global_search_returns_scope_field ... ok
[INFO] [stdout] test tools::tests::global_search_finds_across_projects ... ok
[INFO] [stdout] test tools::tests::list_projects_finds_project ... ok
[INFO] [stdout] test tools::tests::init_project_with_file_filter ... ok
[INFO] [stdout] test tools::tests::overview_empty_project_dir ... ok
[INFO] [stdout] test tools::tests::init_project_creates_docs ... ok
[INFO] [stdout] test tools::tests::overview_mixed_file_types ... ok
[INFO] [stdout] test tools::tests::overview_lists_files ... ok
[INFO] [stdout] test tools::tests::list_projects_skips_hidden_and_template ... ok
[INFO] [stdout] test tools::tests::init_project_overwrite ... ok
[INFO] [stdout] test tools::tests::list_projects_empty_docs_root ... ok
[INFO] [stdout] test tools::tests::resolve_project_with_env_var ... ok
[INFO] [stdout] test tools::tests::global_search_skips_hidden_and_template ... ok
[INFO] [stdout] test tools::tests::init_project_skips_existing ... ok
[INFO] [stdout] test tools::tests::init_project_rejects_path_separator_names ... ok
[INFO] [stdout] test tools::tests::search_respects_limit ... ok
[INFO] [stdout] test tools::tests::search_case_insensitive ... ok
[INFO] [stdout] test tools::tests::search_no_results ... ok
[INFO] [stdout] test tools::tests::search_with_offset_limit_args ... ok
[INFO] [stdout] test tools::tests::slice_content_offset_and_limit ... ok
[INFO] [stdout] test tools::tests::slice_content_unicode ... ok
[INFO] [stdout] test tools::tests::slice_content_offset_beyond_length ... ok
[INFO] [stdout] test tools::tests::slice_content_with_limit ... ok
[INFO] [stdout] test tools::tests::slice_content_with_offset ... ok
[INFO] [stdout] test tools::tests::init_project_rejects_invalid_names ... ok
[INFO] [stdout] test tools::tests::search_with_empty_query ... ok
[INFO] [stdout] test tools::tests::slice_content_full ... ok
[INFO] [stdout] test tools::tests::slice_content_limit_beyond_length ... ok
[INFO] [stdout] test tools::tests::search_finds_matching_lines ... ok
[INFO] [stdout] test tools::tests::search_includes_repo_docs_subdir ... ok
[INFO] [stdout] test tools::tests::overview_with_repo_path ... ok
[INFO] [stdout] test tools::tests::search_includes_repo_path ... ok
[INFO] [stdout] test tools::tests::list_projects_counts_docs ... ok
[INFO] [stdout] test mcp::tests::dispatch_search_ranked_fallback_to_grep ... ok
[INFO] [stdout] test index::tests::check_doc_changes_after_modify ... ok
[INFO] [stdout] test index::tests::is_index_stale_after_file_change ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 245 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.98s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests alcove
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "9858e8966238ecec3af040c3482df5647d26c8bf9cbaf5b8434168a567a9d544", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "9858e8966238ecec3af040c3482df5647d26c8bf9cbaf5b8434168a567a9d544", kill_on_drop: false }`
[INFO] [stdout] 9858e8966238ecec3af040c3482df5647d26c8bf9cbaf5b8434168a567a9d544
